package XML_.dom4j01;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;

/**
 * @author 宋鑫宇
 * @version 1.0
 */
public class Dom4jTest01 {
    public static void main(String[] args) throws Exception {
        //解析XML中的数据成为一个List集合对象。
        //1.导入框架
        //2.创建saxReader对象
        SAXReader saxReader = new SAXReader();
        //3.加载XML文件成为 文档对象Document 对象
        Document document = saxReader.read(Dom4jTest01.class.getResourceAsStream("/hello_world.xml"));
        //4.拿到XML文件的根元素
        Element root = document.getRootElement();
        List<Element> list = root.elements("student");
        //6.准备一个ArrayList集合封装XML文件中的内容
        List<Contact> arrayList = new ArrayList<>();
        //7.遍历contacts子元素
        for (Element contact : list) {
            Contact contact1 = new Contact();
            contact1.setId(Integer.valueOf(contact.attributeValue("id")));
            contact1.setVip(Boolean.valueOf(contact.attributeValue("vip")));
            contact1.setName(contact.elementTextTrim("name"));
            contact1.setSex(contact.elementText("sex").charAt(0));
            contact1.setHobby(contact.elementText("hobby"));
            arrayList.add(contact1);
        }
        for (Contact contact : arrayList) {
            System.out.println(contact);
        }

    }
}
